package com.ncr.travel.appmgr.service;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import com.ncr.travel.appmgr.model.shared.Graphics;
import com.ncr.travel.appmgr.model.shared.Rule;
import com.ncr.travel.appmgr.model.shared.Theme;
import com.ncr.travel.appmgr.service.model.ProductCategoriesResponse;
import com.ncr.travel.appmgr.service.model.ProductsResponse;
import com.ncr.travel.appmgr.service.model.ScreenConfiguration;

/**
 * @author as185325
 * 
 */
public interface ApplicationManagerService {

	ProductsResponse getProducts(String userName) throws Exception;

	ProductCategoriesResponse getProductCategories(String productName);

	Rule getRulesByScreenName(String screenName);

	List<Theme> getListOfThemes();

	Theme getThemeByUUID(String themeId);

	Theme getThemeByNameVersion(String themeName, String version);

	void save(ScreenConfiguration screenConfiguration, String path) throws Exception;

	void addImageToCollection(long screenId, long graphicsId, MultipartFile imageFile);

	void updateGraphicsCollection(long screenId, List<Graphics> graphics);

	ScreenConfiguration findConfigurationByKeyAndPath(String key, String path) throws Exception;

}
